async function hook($input = {}, $output = {}, $modules = modules) {
  //通讯录回调:https://work.weixin.qq.com/api/doc/90000/90135/90967
  //外部联系回调:https://work.weixin.qq.com/api/doc/90000/90135/92129
  //OA审批回调:https://work.weixin.qq.com/api/doc/90000/90135/91815

  //get 请求用于验证有效性

  //将数据解密并转换成json
  let data = $input;

  if (data.Event == "change_contact" && data.ChangeType == "create_party") {
    //TODO 处理添加部门事件
  } else if (
    data.Event == "change_contact" &&
    data.ChangeType == "update_party"
  ) {
    //TODO 处理修改部门事件
  } else if (
    data.Event == "change_contact" &&
    data.ChangeType == "delete_party"
  ) {
    //TODO 处理删除部门事件
  } else if (
    data.Event == "change_contact" &&
    data.ChangeType == "create_user"
  ) {
    //TODO 处理添加成员事件
  } else if (
    data.Event == "change_contact" &&
    data.ChangeType == "update_user"
  ) {
    //TODO 处理修改成员事件
  } else if (
    data.Event == "change_contact" &&
    data.ChangeType == "delete_user"
  ) {
    //TODO 处理删除成员事件
  } else if (
    data.Event == "change_external_contact" &&
    data.ChangeType == "add_external_contact"
  ) {
    //TODO 处理添加外部联系人事件
  } else if (
    data.Event == "change_external_contact" &&
    data.ChangeType == "edit_external_contact"
  ) {
    //TODO 处理编辑外部联系人备注标签信息事件
  } else if (
    data.Event == "change_external_contact" &&
    data.ChangeType == "del_external_contact"
  ) {
    //TODO 处理删除外部联系人事件
  }
}
